[Text Processing] 파일 마지막에 새로운 줄 추가하기

wiki에 현행화하여 작성해뒀습니다. OS_일반_시스템/Unix와_Linux_Tips/sed로_맨_마지막_줄에_행_추가하기 [ CnUnix ] in KIDS글 쓴 이(By): guest (gues) <210.183.233.205>날 짜 (Date): 2000년 4월 28일 금요일 오전 11시 56분 12초제 목(Title): [보통질문]텍스트 파일마지막에 새줄추가? 텍스트 파일에서 특정 문자열을 찾은 다음 존재하지 않으면 마지막줄에 새로운 줄을 추가하려 합니다. 첫번째 문제는 감이 잘 안오고요 두번째는 sed ‘$s/$/추가문자/g’ test.txt > test.txt.new 와 같이 했는데 그냥 n추가문자가 마지막출에 붙어서 나오네요. 내 의도는 캐리지리턴추가문자 를 추가하려 했는데 이 캐리지리턴을 어떻게 표현해야 하는지요. 그리고 특정 문자열을 찾아서 있는지 없는지 판단하는 루틴은 어떻게 하나요? 스크립트 초보. [ CnUnix ] in KIDS글 쓴 이(By): terzeron (microkid)날 짜 (Date): 2000년 4월 28일 금요일 오후 01시 58분 54초제 목(Title): Re: [보통질문]텍스트 파일마지막에 새줄추� 굳이 sed로 하셔야 한다면 다른 분들이 말씀해주시겠지만, 이론적으로는 다음에 엔터를 쳐서 하면 된다고 하는데, shell이 닭짓을 해서 잘 안 되는군요. 저는 그래서 perl로… echo “All or Nothing” | perl -pe ‘s/All/Nothing/g’ 물론 awk쓰면 되겠지만, 제가 잘 모르겠네요. [ CnUnix ] in KIDS글 쓴 이(By): belami (- 커피 -)날 짜 (Date): 2000년 4월 28일 금요일 오후 08시 47분 04초제 목(Title): Re: [보통질문]텍스트 파일마지막에 새줄추� unix에서는 캐리지 리턴 대신 라인 피드 사용. ^J (ascii 10). CTRL-V를 누른 상태에서 CTRL-J를 눌러 입력 (sh, csh, vi) 패턴 찾기 grep ‘pattern’ filename > /dev/null 2>&1 (sh) if [ $? -eq 0 ]; then echo “found” else echo “not found” fi 패턴 찾은 후 추가문자 추가 sed -e ‘/pattern/a^J추가문자’ filename (sh, csh, vi) 모든 줄에서 줄 바꾸고 추가문자 추가 sed -e ‘/$/a^J추가문자’ filename (sh, csh, vi) [ CnUnix ] in KIDS글 쓴 이(By): Gizmos ( 그림이)날 짜 (Date): 2000년 4월 29일 토요일 오전 04시 31분 22초제 목(Title): Re: [보통질문]텍스트 파일마지막에 새줄 vi에서도 ^J가 입력 가능한가요? 전 안 되던데.. vi 마다 다른가요? [ CnUnix ] in KIDS글 쓴 이(By): terzeron (microkid)날 짜 (Date): 2000년 4월 29일 토요일 오전 10시 22분 37초제 목(Title): Re: [보통질문]텍스트 파일마지막에 새줄 저는 TCSH쓰는데, 잘 안 됩니다. C-V C-J누르면 ^M이라고 나오거든요. 물론 보이기는 C-V C-M과 같지만 약간 차이가 있고, 두가지 모두 원하는 대로 잘 안 되네요.